package modules

import (
	"gin-gorm-project/conf"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

var DB *gorm.DB

func InitDb(conf conf.DbConf) {
	//databaseInformation := buildDatabaseInformation()
	//dns := databaseInformation.userName + ":" + databaseInformation.password + "@tcp(" + databaseInformation.ip + ":" + databaseInformation.port + ")/" + databaseInformation.databaseName + "?charset=utf8mb4&parseTime=True&loc=Local"
	dns := conf.Mysql.Dns

	db, err := gorm.Open(mysql.Open(dns), &gorm.Config{
		//ConnPool: nil,
	})
	if err != nil {
		panic(err)
	}

	sqlDB, _ := db.DB()
	//sqlDB.SetMaxOpenConns(100) // 最大连接数
	//sqlDB.SetMaxIdleConns(10)  // 核心线程数
	sqlDB.SetMaxOpenConns(conf.Mysql.MaxOpenConns) // 最大连接数
	sqlDB.SetMaxIdleConns(conf.Mysql.MaxIdleConns) // 核心线程数
	DB = db.Debug()
}

//func buildDatabaseInformation() mysqlDNS {
//	return mysqlDNS{
//		userName:     "root",
//		password:     "root",
//		ip:           "localhost",
//		port:         "3306",
//		databaseName: "blog",
//	}
//}
